#! /usr/bin/env python

PACKAGE='visp_tracker'
import roslib; roslib.load_manifest(PACKAGE)

from math import pi

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

# Common
gen.add("angle_appear", double_t, 0, "Maximal angle value to consider an appearing face", 65.0, 0.0, 90.0)
gen.add("angle_disappear", double_t, 0, "Minimal angle value to consider that a face disappear", 75.0, 0.0, 90.0)

# Specific to vpMbEdgeTracker.

# Apparently unused attributes:
# - min_samplestep
# - ntotal_sample
# - points to track
# - angle step
# - mask sign
# Deprecated parameters
# - aberration
# - init_aberration
# Parameters that should not be modified by user
# - nb_mask
# - lambda

gen.add("mask_size", int_t, 0, "mask size", 7, 3, 15)
gen.add("range", int_t, 0, "range", 5, 0, 50)
gen.add("threshold", double_t, 0, "threshold", 2000., 0., 20000.)
gen.add("mu1", double_t, 0, "contrast continuity (mu1)", 0.5, 0., 1.)
gen.add("mu2", double_t, 0, "contrast continuity (mu2)", 0.5, 0., 1.)
gen.add("sample_step", double_t, 0, "sample step", 3., 1., 50.)
gen.add("strip", int_t, 0, "strip", 2, 0, 10)
gen.add("first_threshold", double_t, 0, "good samples remaining threshold before reinitialization (edge)", 0.4, 0., 1.)

# Specific to Klt
gen.add("mask_border", int_t, 0, "Face dead zone size", 5, 0, 50)
gen.add("max_features", int_t, 0, "Maximum number of KLT features", 10000, 0, 30000)
gen.add("window_size", int_t, 0, "Window size arround a KLT point", 5, 3, 7)
gen.add("quality", double_t, 0, "Quality threshold used to consider that a point is valid", 0.05, 0.0001, 0.1)
gen.add("min_distance", double_t, 0, "Min distance between two points", 5.0, 1.0, 50.0)
gen.add("harris", double_t, 0, "Harris value", 0.01, 0, 0.1)
gen.add("size_block", int_t, 0, "Block size", 3, 2, 10)
gen.add("pyramid_lvl", int_t, 0, "Number of levels in the pyramid", 3, 0, 5)



exit(gen.generate(PACKAGE, "tracker_mbt_client", "ModelBasedSettings"))
